/*
  在需要调用JS接口的页面引入如下JS文件，（支持https）：http://res.wx.qq.com/open/js/jweixin-1.2.0.js
  微信分享（标题, 描述, 链接, 分享图片）
  举例：
  wxshare("标题", "内容", "需要分享的链接", "缩略图地址")
*/
import axios from 'axios'
import qs from 'qs'
// 微信转发
export const wxshare = (mytitle, mydesc, myhref, shareImg, sucCall = () => { }, errCall = () => { }) => {
  let thisHref = window.location.href.split('#')[0]
  let paramobj = {
    historyUrl: thisHref // 参与签名的必须是当前打开的链接
  }
  axios.post('https://iapp.etalk365.com/ajax/weixinA_share.action', qs.stringify(paramobj))
    .then(response => {
      let getAppid = response.data.appid
      let getTimestamp = response.data.timestamp
      let getNonceStr = response.data.nonceStr
      let getSignature = response.data.signature
      // let myurl = response.data.homeUrl1
      // console.log(response.data)
      /*eslint-disable */
      wx.config({
        debug: false, //
        appId: getAppid, // 必填，公众号的唯一标识
        timestamp: getTimestamp, // 必填，生成签名的时间戳
        nonceStr: getNonceStr, // 必填，生成签名的随机串
        signature: getSignature, // 必填，签名，见附录1
        jsApiList: [
          'onMenuShareTimeline',
          'onMenuShareAppMessage',
          'showOptionMenu'
        ] // 必填，需要使用的JS接口列表，所有JS接口列表见附录2

      })
      wx.ready(function () {
        // 分享给朋友
        wx.onMenuShareAppMessage({
          title: mytitle, // 分享标题
          desc: mydesc, // 分享描述
          link: myhref, // 分享链接
          imgUrl: shareImg, // 分享图标
          type: 'link', // 分享类型,music、video或link，不填默认为link
          dataUrl: '', // 如果type是music或video，则要提供数据链接，默认为空
          success: function () {
            // 用户确认分享后执行的回调函数
            console.log('分享给朋友转发成功')
            sucCall()
          },
          cancel: function () {
            // 用户取消分享后执行的回调函数
            console.log('分享给朋友转发失败')
            errCall()
          }
        })
        wx.onMenuShareTimeline({
          title: mydesc, // 分享标题
          link: myhref, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
          imgUrl: shareImg, // 分享图标
          success: function () {
            // 用户确认分享后执行的回调函数
            console.log('分享给朋友圈转发成功')
            sucCall()
          },
          cancel: function () {
            // 用户取消分享后执行的回调函数
            console.log('分享给朋友圈转发失败')
            errCall()
          }
        })
      })
      /* eslint-enable */
    })
    .catch(error => {
      console.log(error)
    })
}
